# 找出基线条件，这种条件必须尽可能简单，不断将问题分解（或者说缩小规模），直到符合基线条件。
# 这里的基线条件就是只有1个数字的时候这个数字是有序的！
# 左中右三部分，大于基准值放在左边，小于基准值放在右边
def quickSort(arr):
    if len(arr) <2: # 为什么只有小于2 可以？
        return arr
    else:
        mid = arr[0]
        left = [i for i in arr[1:] if i <= mid]
        right = [i for i in arr[1:] if i > mid]
        return quickSort(left) + [mid] + quickSort(right)

#
# def quickSort(arr):
#     if len(arr) == 1: return arr
#     else:
#         mid = arr[0]
#         left = [ i for i in arr[1:] if i <= mid]
#         right = [i for i in arr[1:] if i > mid]
#         return quickSort(left) + [mid] + quickSort(right)
ilist = quickSort([2,4,7,5,6,1,1] )
print(ilist)